// 引入vue
import Vue from 'vue'
// 重置css样式的文件
import 'normalize.css/normalize.css' // A modern alternative to CSS resets
// 引入element-ui组件库
import ElementUI from 'element-ui'
// 引入element-ui的主题样式文件
import 'element-ui/lib/theme-chalk/index.css'
// 引入全局的样式文件
import '@/styles/index.scss' // global css
// 引入App组件
import App from './App'
// 引入vuex中的store
import store from './store'
// 引入路由器对象router
import router from './router'
// 引入图标
import '@/icons' // icon
// 引入的是路由权限相关的文件
import '@/permission' // permission control
// 引入所有的api接口
import * as API from './api'

Vue.use(ElementUI)
Vue.config.productionTip = false
Vue.prototype.$API = API


// 注册全局组件
Vue.component('HintButton', HintButton)
// Vue.component('CategorySelector', CategorySelector)

// 挂载到Vue原型对象上, 以便组件中直接可见
import { hasBtnPermission } from './utils/permission'
Vue.prototype.$hasBP = hasBtnPermission
// 引入按钮权限相关的函数 并挂载在Vue的原型上 Vue的所有组件都可以使用
Vue.prototype.$hasBP = hasBtnPermission

// 引入并全局注册HintButton组件
import HintButton from '@/components/HintButton'
Vue.component('HintButton',HintButton)

// 实例化vue
new Vue({
  el: '#app',
  router,
  store,
  render: h => h(App)
})
